//导入axios  npm install axios
import axios from 'axios';
import { ElMessage } from 'element-plus'
//定义一个变量,记录公共的前缀  ,  baseURL
//const baseURL = 'http://localhost:8080';
const http = axios.create({
    baseURL: '/api',
    timeout: 2000, // 2s 超时
})

http.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    const token = localStorage.getItem('min_token')
    //不需要添加token的aoi
    const whiteUrl = ['/user/login','/user/register']
    if (token && !whiteUrl.includes(config.url)) {
        config.headers.Authorization = token
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    console.log('error',error)
    return Promise.reject(error);
  });

// 添加响应拦截器
http.interceptors.response.use(function (response) {
    // 对接口异常的数据，给用户提示
    if(response.data.code == -1){
        ElMessage({
            message: response.data.message,
            type: 'warning',
        })
    }
    if(response.data.code ==-2){
        localStorage.removeItem('min_token')
        localStorage.removeItem('min_userInfo')
        ElMessage({
            message: '登陆状态已过期，请重新登陆',
            type: 'error',
        })
        // 跳转到最初页面（登陆页面）
        window.location.href = window.location.origin
    }
    return response;
  }, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  });
export default http